#define _CRT_SECURE_NO_WARNINGS  1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int datatype;

typedef struct Lnode
{
	struct Lnode* pre;
	struct Lnode* next;
	datatype data;
}Lnode;

Lnode* Initlist();

Lnode* Buynewnode(datatype x);

void ListPushFront(Lnode* phead, datatype x);

void ListPrint(Lnode* phead);

void ListPushBack(Lnode* phead,datatype x);

void ListPopBack(Lnode* phead);

void ListPopFront(Lnode* phead);

Lnode* ListFind(Lnode* phead, datatype x);

void ListInsert(Lnode* pos, datatype x);

void ListPop(Lnode* pos);

void ListDestroy(Lnode* phead);